package com.wyg.demo.service;

import com.wyg.demo.domain.ExcelData;
import com.wyg.demo.domain.vo.ExcelDataVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * @author ygWen
 * @Description:
 * @date 2022/1/1
 */
public interface ExcelDataService {
    /**
     * 保存数据到数据库
     * @param list 数据集合
     */
    void save(List<ExcelData> list);

    /**
     * 读取excel文件中的数据
     * @param filePath excel文件全路径
     */
    void excelRead(String filePath);

    /**
     * 上传excel文件到服务器指定路径下
     * @param file excel文件
     * @return 文件的全路径名字(含路径、文件名以及后缀)
     */
    String fileUpload(MultipartFile file) throws IOException;

    /**
     * 查询数据库中的数据（可按条件查询）
     * @param excelDataVo excelDataVo类
     * @return 数据列表
     */
    List<ExcelData> selectDataList(ExcelDataVo excelDataVo);

    /**
     * 将数据写入excel
     * @param list 数据列表
     * @return 文件名
     */
    String excelSimpleWrite(List<ExcelData> list) throws IOException;

    /**
     * 将excel文件下载到本地
     * @param response 响应
     * @param fileName 服务器上文件名称
     */
    void downloadExcel(HttpServletResponse response, String fileName) throws IOException;

    /**
     * 将excel模板文件下载到本地
     */
    void downloadExcelTemplate(HttpServletResponse response) throws IOException;
}
